package com.kk.rediscore;

import redis.clients.jedis.Jedis;

import java.util.Set;

/**
 * 使用redis快速实现排行榜，zset
 */
public class CoreDemo {

    public static void main(String[] args) {
        String key = "board";

        Jedis jedis = new Jedis("192.168.101.105", 6379);

        // 添加或更新用户分数
        jedis.zadd(key,90, "zhang san");
        jedis.zadd(key,91, "李四");
        jedis.zadd(key,92, "王二");
        jedis.zadd(key,93, "嬴政");

        //获取排行榜末尾三人
        Set<String> zrange = jedis.zrange(key, 0, 3 - 1);
        System.out.println("zrange = " + zrange);

        //获取排行榜前三人
        Set<String> zrevrange = jedis.zrevrange(key, 0, 3 - 1);
        System.out.println("zrevrange = " + zrevrange);


        // 获取用户的排名，从0开始
        Long zrevrank = jedis.zrevrank(key, "王二");
        System.out.println("zrevrank = " + zrevrank);

        // 获取用户的分数
        double zscore = jedis.zscore(key, "王二");
        System.out.println("zscore = " + zscore);

        //  删除用户
        Long wang = jedis.zrem(key, "wang");
        System.out.println("wang = " + wang);

        jedis.close();

    }
}
